﻿#pragma warning disable 649    // disable compiler warnings about unassigned fields

namespace Web
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Objects.DataClasses;
    using System.Linq;
    using System.Web.DomainServices;
    using System.Web.Ria;
    using System.Web.Ria.Services;
    
    
    // The MetadataTypeAttribute identifies AllSlotsMetadata as the class
    // that carries additional metadata for the AllSlots class.
    [MetadataTypeAttribute(typeof(AllSlots.AllSlotsMetadata))]
    public partial class AllSlots
    {
        
        // This class allows you to attach custom attributes to properties
        // of the AllSlots class.
        //
        // For example, the following marks the Xyz property as a
        // required field and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz;
        internal sealed class AllSlotsMetadata
        {
            
            // Metadata classes are not meant to be instantiated.
            private AllSlotsMetadata()
            {
            }
            
            public string EventDescription;
            
            public Nullable<DateTime> EventEndDate;
            
            public int EventId;
            
            public string EventName;
            
            public DateTime EventStartDate;
            
            public string RoomDescription;
            
            public int RoomId;
            
            public string RoomName;
            
            public string SessionAbstract;
            
            public int SessionId;
            
            public string SessionTitle;
            
            public DateTime SlotDate;
            
            public int SlotId;
            
            public TimeSpan SlotTime;
            
            public string SpeakerBiography;
            
            public string SpeakerFirstname;
            
            public int SpeakerId;
            
            public string SpeakerImageUrl;
            
            public string SpeakerLastname;
            
            public string SpeakerTitle;
        }
    }
    
    // The MetadataTypeAttribute identifies EventMetadata as the class
    // that carries additional metadata for the Event class.
    [MetadataTypeAttribute(typeof(Event.EventMetadata))]
    public partial class Event
    {
        
        // This class allows you to attach custom attributes to properties
        // of the Event class.
        //
        // For example, the following marks the Xyz property as a
        // required field and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz;
        internal sealed class EventMetadata
        {
            
            // Metadata classes are not meant to be instantiated.
            private EventMetadata()
            {
            }
            
            public string Description;
            
            public Nullable<DateTime> EndDate;
            
            public int Id;
            
            public string Name;
            
            public EntityCollection<Room> Room;
            
            public DateTime StartDate;
        }
    }
    
    // The MetadataTypeAttribute identifies RoomMetadata as the class
    // that carries additional metadata for the Room class.
    [MetadataTypeAttribute(typeof(Room.RoomMetadata))]
    public partial class Room
    {
        
        // This class allows you to attach custom attributes to properties
        // of the Room class.
        //
        // For example, the following marks the Xyz property as a
        // required field and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz;
        internal sealed class RoomMetadata
        {
            
            // Metadata classes are not meant to be instantiated.
            private RoomMetadata()
            {
            }
            
            public string Description;
            
            public Event Event;
            
            public Nullable<int> EventId;
            
            public int Id;
            
            public string Name;
            
            public EntityCollection<Slot> Slot;
        }
    }
    
    // The MetadataTypeAttribute identifies SessionMetadata as the class
    // that carries additional metadata for the Session class.
    [MetadataTypeAttribute(typeof(Session.SessionMetadata))]
    public partial class Session
    {
        
        // This class allows you to attach custom attributes to properties
        // of the Session class.
        //
        // For example, the following marks the Xyz property as a
        // required field and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz;
        internal sealed class SessionMetadata
        {
            
            // Metadata classes are not meant to be instantiated.
            private SessionMetadata()
            {
            }
            
            public string Abstract;
            
            public int Id;
            
            public EntityCollection<Slot> Slot;
            
            public string Title;
        }
    }
    
    // The MetadataTypeAttribute identifies SlotMetadata as the class
    // that carries additional metadata for the Slot class.
    [MetadataTypeAttribute(typeof(Slot.SlotMetadata))]
    public partial class Slot
    {
        
        // This class allows you to attach custom attributes to properties
        // of the Slot class.
        //
        // For example, the following marks the Xyz property as a
        // required field and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz;
        internal sealed class SlotMetadata
        {
            
            // Metadata classes are not meant to be instantiated.
            private SlotMetadata()
            {
            }
            
            public DateTime Date;
            
            public int Id;
            
            public Room Room;
            
            public Nullable<int> RoomId;
            
            public Session Session;
            
            public Nullable<int> SessionId;
            
            public Speaker Speaker;
            
            public Nullable<int> SpeakerId;
            
            public TimeSpan Time;
        }
    }
    
    // The MetadataTypeAttribute identifies SpeakerMetadata as the class
    // that carries additional metadata for the Speaker class.
    [MetadataTypeAttribute(typeof(Speaker.SpeakerMetadata))]
    public partial class Speaker
    {
        
        // This class allows you to attach custom attributes to properties
        // of the Speaker class.
        //
        // For example, the following marks the Xyz property as a
        // required field and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz;
        internal sealed class SpeakerMetadata
        {
            
            // Metadata classes are not meant to be instantiated.
            private SpeakerMetadata()
            {
            }
            
            public string Biography;
            
            public string Firstname;
            
            public int Id;
            
            public string ImageUrl;
            
            public string Lastname;
            
            public EntityCollection<Slot> Slot;
            
            public string Title;
        }
    }
}

#pragma warning restore 649    // re-enable compiler warnings about unassigned fields
